package core.model;

import java.sql.Timestamp;

/**
 * @author andoniibarguchilorenzo
 * clase que contiene los atributos necesarios para una sugerencia
 */
public class Sugerencia {

	private String asunto, descripcion, nick;
	private int codigo_tipo;
	private int codigo_sugerencia;
	Timestamp fecha;

	/**
	 * constructor sin parametros
	 */
	public Sugerencia() {

	}

	/**
	 * constructor con los siguientes parametros
	 * @param asunto
	 * @param descripcion
	 * @param nick
	 */
	public Sugerencia(String asunto,
			String descripcion, String nick) {
		this.asunto = asunto;
		this.descripcion = descripcion;
		this.nick = nick;

	}

	/**
	 * constructor con los siguientes parametros
	 * @param codigo_tipo
	 * @param asunto
	 * @param descripcion
	 * @param nick
	 */
	public Sugerencia(int codigo_tipo, 
			String asunto, String descripcion, String nick) {
		this.setCodigo_tipo(codigo_tipo);
		this.asunto = asunto;
		this.descripcion = descripcion;
		this.nick = nick;
	}

	/**
	 * constructor con los siguientes parametros
	 * @param codigo_sugerencia
	 * @param codigo_tipo
	 * @param asunto
	 * @param descripcion
	 * @param nick
	 */
	public Sugerencia(int codigo_sugerencia, int codigo_tipo, String asunto,
			String descripcion, String nick) {
		this.setCodigo_sugerencia(codigo_sugerencia);
		this.codigo_tipo = codigo_tipo;
		this.asunto = asunto;
		this.descripcion = descripcion;
		this.nick = nick;
	}

	/**
	 * constructor con los siguientes parametros
	 * @param codigo_sugerencia
	 * @param codigo_tipo
	 * @param asunto
	 * @param fecha
	 * @param descripcion
	 * @param nick
	 */
	public Sugerencia(int codigo_sugerencia, int codigo_tipo, String asunto, Timestamp fecha,
			String descripcion, String nick) {
		this.codigo_sugerencia=codigo_sugerencia;
		this.codigo_tipo=codigo_tipo;
		this.asunto=asunto;
		this.fecha=fecha;
		this.descripcion=descripcion;
		this.nick=nick;
	}

	/**
	 * devuelve un asunto
	 * @return asunto
	 */
	public String getAsunto() {
		return asunto;
	}

	/**
	 * modifica un asunto
	 * @param asunto
	 */
	public void setAsunto(String asunto) {
		this.asunto = asunto;
	}

	/**
	 * devuelve una descripcion
	 * @return descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * modifica una descripcion
	 * @param descripcion
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * devuelve un nick
	 * @return nick
	 */
	public String getNick() {
		return nick;
	}

	/**
	 * modifica un nick
	 * @param nick
	 */
	public void setNick(String nick) {
		this.nick = nick;
	}

	/**
	 * devuelve un codigo_tipo
	 * @return codigo_tipo
	 */
	public int getCodigo_tipo() {
		return codigo_tipo;
	}

	/**
	 * modifica un codigo_tipo
	 * @param codigo_tipo
	 */
	public void setCodigo_tipo(int codigo_tipo) {
		this.codigo_tipo = codigo_tipo;
	}

	/**
	 * devuelve un codigo_sugerencia
	 * @return codigo_sugerencia
	 */
	public int getCodigo_sugerencia() {
		return codigo_sugerencia;
	}

	/**
	 * modifica un codigo_sugerencia
	 * @param codigo_sugerencia
	 */
	public void setCodigo_sugerencia(int codigo_sugerencia) {
		this.codigo_sugerencia = codigo_sugerencia;
	}
	
	/**
	 * devuelve una fecha
	 * @return fecha
	 */
	public Timestamp getFecha() {
		return this.fecha;
	}

	/**
	 * modifica una fecha
	 * @param fecha
	 */
	public void setFecha(Timestamp fecha) {
		this.fecha = fecha;
	}

	/**
	 * crea y devuelve una sugerencia con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo_tipo
	 * @param asunto
	 * @param descripcion
	 * @param nick
	 * @return sugerencia
	 */
	public static Sugerencia createSugerencia(
			int codigo_tipo, String asunto,
			String descripcion, String nick) {
		Sugerencia sugerencia = new Sugerencia(codigo_tipo,
				asunto, descripcion, nick);
		return sugerencia;
	}

	/**
	 * crea y devuelve una sugerencia con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo_sugerencia
	 * @param codigo_tipo
	 * @param asunto
	 * @param descripcion
	 * @param nick
	 * @return sugerencia
	 */
	public static Sugerencia createSugerencia(int codigo_sugerencia, int codigo_tipo,
			String asunto, String descripcion, String nick) {
		Sugerencia sugerencia = new Sugerencia(codigo_sugerencia, codigo_tipo,asunto, descripcion, nick);
		return sugerencia;
	}

	/**
	 * crea y devuelve una sugerencia con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo_sugerencia
	 * @param codigo_tipo
	 * @param asunto
	 * @param fecha
	 * @param descripcion
	 * @param nick
	 * @return sugerencia
	 */
	public static Sugerencia createSugerencia(int codigo_sugerencia, int codigo_tipo, String asunto,
			Timestamp fecha, String descripcion, String nick) {
		Sugerencia sugerencia = new Sugerencia (codigo_sugerencia, codigo_tipo, asunto, fecha, descripcion, nick);
		return sugerencia;
	}

}
